<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function Person(name,age,company){
            //var obj={};
            this.name=name;
            this.age=age;
            this.company=company;
            //return obj;
        }
        Person.prototype.motto="教育 为人";//这是继承的  共享的
        Person.prototype.sayName=function(){//这是继承的  共享的
            console.log(this.name);
        };
        Person.prototype.girls=["三玖","美杜莎"]
        var jiu=new Person("久久",20,"互联网金融");
        var ha=new Person("坚持",20,"不放弃系统");
        var xi=new Person("决断",20,"不犹豫集团");
        // jiu.motto="我要孤独按一下";
        //覆盖的原理
        //自定义属性 和 原型的属性名字一样  就会在一级上面创建  访问从一级开始 直接忽略了原型的同名属性
        
        //覆盖恢复
        // 使用delete删除他的链接[一级商的同名属性]

        //原型升级
        // Person.prototype={
        //     motto:"教育 为人",
        //     sayName:function(){//这是继承的  共享的
        //         console.log(this.name);
        //     },
        //     constructor:Person
        // }
        // Object.defineProperty(Person.prototype,"constructor",{
        //     enumerable:false,
        //     value:Person
        // });


        var jiu1=new Person("久久",20,"互联网金融");
        var ha1=new Person("坚持",20,"不放弃系统");
        var xi1=new Person("决断",20,"不犹豫集团");

        //动态查询
        //1.在原型上添加 属性方法  都会继承 立马查询
        //2.把原型覆盖为一个对象  那么就不能在都实现立马查询

        //在原生对象上做操作


        </script>
</body>
</html>